#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

//int kill_num(int* arr, int num, int val)
//{
//	int dest = 0;
//	int src = 0;
//	while (src < num )
//	{
//		if (arr[src] != val)
//		{
//			arr[dest++] = arr[src++];
//		}
//		else
//		{
//			src++;
//		}
//	}
// 
// return dest;
//}
//
//int main()
//{
//	int arr[10] = { 1,2,2,4,5,2,10,2,2,8 };
//	int val = 2;
//	
//	int ret = kill_num(arr, 10, val);
//	return 0;
//}


//void fun(int n) 
//{
//    int i = 1;
//    while (i <= n)
//        i = i * 2;
//}

//int** fun(int n)
//{
//    int** s = (int**)malloc(n * sizeof(int*));
//
//    while (n--)
//    {
//        s[n] = (int*)malloc(n * sizeof(int));
//    }
//
//    return s;
//}


//int kill_num(int* nums, int numsSize)
//{
//	int dest = 0;
//	int src = 0;
//	while (src < numsSize)
//	{
//		if (nums[src] != nums[src + 1])
//		{
//			nums[dest++] = nums[src++];
//		}
//		else
//		{
//			src++;
//		}
//	}
//	return dest;
//
//}
//
//int main()
//{
//	int arr[] = { 0,0,1,1,1,2,2,3,3,5 };
//	int len = sizeof(arr) / sizeof(arr[0]);
//		
//	int ret = kill_num(arr, len);
//	printf("%d", ret);
//	return 0;
//}

////			数组1	   数组长度	数组个数元素
//void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n)
//{
//	int src = 0;
//
//	int arr[6] = { 0 };
//
//	int z = 0;
//	int i = 0;
//	while( i < nums1Size)
//	{
//		if ((nums1[i] <= nums2[src]) && (src != n))
//		{
//			arr[z++] = nums1[i++];
//		}
//		else if ((nums1[i] > nums2[src]) && (src != n))
//		{
//			arr[z++] = nums2[src++];
//		}
//	}
//
//	for (int j = 0; i < m + n; i++)
//	{
//		nums1[j] = arr[j];
//	}
//}
//
//int main()
//{
//	int nums1[] = { 1,2,3,0,0,0 };
//	int nums1Size = sizeof(nums1) / sizeof(nums1[0]);
//	int m = 3;
//
//	int nums2[] = { 2,5,6 };
//	int nums2Size = sizeof(nums2) / sizeof(nums2[0]);
//	int n = 3;
//
//	merge(nums1, nums1Size, m, nums2, nums2Size, n);
//
//	for (int i = 0; i < nums1Size; i++)
//	{
//		printf("%d ", nums1[i]);
//	}
//	return 0;
//}


